The ability to produce volume-rendered images interactively opens the door to a host of new application capabilities. Volumetric data is commonplace today. Radiologists use magnetic resonance images (MRI) and computed tomography (CT) data in clinical diagnoses. Geophysicists map and study three-dimensional voxel Earth models. Environmentalists examine pollution clouds in the air and plumes underground. Chemists and biologists visualize potential fields around molecules and meteorologists study weather patterns. With so many disciplines actively engaging in the study and examination of three-dimensional data, today's software developers need to understand techniques used to visualize this data. You can use three-dimensional texture mapping, an extension of two-dimensional texture mapping, as the basis for building fast, flexible volume renderers.
This article tells you how to build an interactive, texture mapping-based volume renderer in OpenGL. The article also includes a pseudo-coded volume renderer to help illustrate particular concepts.
This work lives in the toolbox/src/exampleCode/volumeRendering/volren-6/doc/how-to directory.
This paper articulates a good alternative use of texture mapping. Its description explores some of what's involved in doing volume rendering.
ABSTRACT: Volume rendering and reconstruction centers around solving two related integral equations: a volume rendering integral (a generalized Radon transform) and a filtered backprojection integral (the inverse Radon transform). Both of these equations are of the same mathematical form and can be dimensionally decomposed and approximated using Riemann sums over a series of resampled images. When viewed as a form of texture mapping and frame buffer accumulation, enormous hardware enabled performance acceleration is possible.
Discuses GLR, "a mechanism to share expensive graphics hardware resources between users on a network. The idea is to amortize the hardware among multiple users to bring high-quality rendering to a larger application and user audience. Imagine a network of Indy workstations that use their local graphics acceleration for most interactive tasks, but can fallback to GLR on a RealityEngine or InfiniteReality for extremely high-quality rendering."
Then, describes "two programs demonstrating GLR. The first is a GLR-enabled version of Brian Cabral's interactive volren program for sophisticated volume rendering. volren renders using RealityEngine and IMPACT graphics hardware. volren's rendering results cannot be (interactively) done on Indy or non-IMPACT Indigo² hardware."
See Todd Kulick's volren-6, a toolbox-local version of the software discussed in the first half of this article.